home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #2
/
Amiga Plus CD - 1995 - No. 2.iso
/
startrek
/
trek73
/
src
/
globals.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-04-11
|
6KB
|
195 lines
/*
*
* TREK73: globals.c
*
* Global variable declarations
*
*/
#include "defines.h"
#include "structs.h"
extern int fire_phasers(), fire_tubes(), lock_phasers(), lock_tubes(),
turn_phasers(), turn_tubes(), load_tubes(), phaser_status(),
tube_status(), launch_probe(), probe_control(), pos_report(),
pos_display(), pursue(), elude(), helm(), self_scan(), scan(),
alter_power(), jettison_engineering(), detonate_engineering(),
alterpntparams(), play_dead(), corbomite_bluff(), surrender_ship(),
request_surrender(), self_destruct(), abort_self_destruct(),
survivors(), help();
extern int
standard_strategy();
char *statmsg[] = {
"computer inoperable",
"sensors annihilated",
"probe launcher shot off",
"warp drive disabled",
"engineering jettisoned",
} ;
struct damage p_damage = {
50, 2, 20, 3, 10, 3,
1000, "Computer destroyed.",
500, "Sensors demolished.",
100, "Probe launcher crushed.",
50, "Warp drive destroyed.",
} ;
struct damage a_damage = {
100, 3, 10, 2, 7, 6,
1500, "Computer banks pierced.",
750, "Sensors smashed.",
150, "Probe launcher shot off.",
75, "Warp drive disabled.",
} ;
char *baddies[MAXFOERACES][MAXBADS] = {
/* Klingons*/
"Annihilation", "Crusher", "Devastator", "Merciless", "Nemesis",
"Pitiliess", "Ruthless", "Savage", "Vengeance",
/* Romulan */
"Avenger", "Defiance", "Fearless", "Harrower", "Intrepid",
"Relentless", "Seeker", "Torch", "Vigilant",
/* Kzinti */
"Black Hole", "Comet", "Ecliptic", "Galaxy", "Meteor",
"Nova", "Pulsar", "Quasar", "Satellite",
/* Gorn */
"Chimericon", "Dragonicon", "Ornithocon", "Predatoricon", "Reptilicon",
"Serpenticon", "Tyranicon", "Vipericon", "Wyvericon",
/* Orion */
"Arrogant", "Boisterous", "Daring", "Flamboyant", "Heavensent",
"Jolly Tar", "Magnificent", "Resplendent", "Stupendous",
/* Hydran */
"Baron", "Chancellor", "Dictator", "Emperor", "Lord",
"Monarch", "President", "Shogun", "Viscount",
/* Lyran */
"Bandit", "Claw", "Dangerous", "Fury", "Mysterious",
"Sleek", "Tiger", "Vicious", "Wildcat",
/* Tholian */
"Bismark", "Centaur", "Draddock", "Forbin", "Kreiger",
"Shlurg", "Trakka", "Varnor", "Warrior",
/* Monty Python */
"Blancmange", "Spam", "R.J. Gumby", "Lumberjack", "Dennis Moore",
"Ministry of Silly Walks", "Argument Clinic", "Piranha Brothers",
"Upper Class Twit of the Year",
} ;
char *feds[] = {
"Constitution", "Enterprise", "Hornet", "Lexington", "Potempkin",
"Hood", "Kongo", "Republic", "Yorktown",
} ;
char *foeraces[] = {
"Klingon", "Romulan", "Kzinti", "Gorn", "Orion", "Hydran",
"Lyran", "Tholian", "Monty Python",
} ;
char *foeempire[] = {
"Empire", "Star Empire", "Hegemony", "Confederation", "Pirates",
"Monarchy", "Something", "Holdfast", "Flying Circus",
};
char *foeshiptype[] = {
"D-7 Battle Cruiser", "Sparrowhawk", "Strike Cruiser",
"Heavy Cruiser", "Raider Cruiser", "Ranger-class Cruiser",
"Tiger-class Cruiser", "Patrol Cruiser", "Thingee",
};
char *foecaps[] = {
"Bolak", "Kang", "Koloth", "Kor", "Korax", "Krulix", "Quarlo",
"Tal", "Troblak"
};
int init_p_turn[] = {
-90, 0, 0, 90
};
int init_t_turn[] = {
-120, -60, 0, 0, 60, 120
};
/*
* for the linked list of items in space
*/
struct list head;
struct list *tail;
/*
* Global definitions
*/
float segment = 0.2; /* Segment time */
float timeperturn = 2.0; /* Seconds per turn */
struct ship *shiplist[10]; /* All the ships in the battle */
char captain[30]; /* captain's name */
char science[30]; /* science officer's name */
char engineer[30]; /* engineer's name */
char com[30]; /* communications officer's name */
char nav[30]; /* navigation officer's name */
char helmsman[30]; /* helmsman's name */
char title[9]; /* captain's title */
char foerace[11]; /* enemy's race */
char foename[9]; /* enemy's captain's name */
char foestype[30]; /* enemy's ship type */
char empire[30]; /* What the enemy's empire is called */
int shipnum; /* number of ships this time out */
int terse = 0; /* print out initial description? */
int silly = 0; /* Use the Monty Python's Flying Curcus? */
int defenseless = 0; /* defensless ruse status */
int corbomite = 0; /* corbomite bluff status */
int surrender = 0; /* surrender offered by federation? */
int surrenderp = 0; /* Did we request that the enemy surrenders? */
char shutup[HIGHSHUTUP]; /* Turn off messages after first printing */
char slots[300]; /* Id slots */
int global = NORMAL; /* Situation status */
char **argp = NULL; /* Argument list for parsit() routine */
char options[100]; /* Environment variable */
char sex[20]; /* From environment */
char shipbuf[10]; /* From environment */
char shipname[20]; /* From environment */
char racename[20]; /* From environment */
int reengaged = 0; /* Re-engaging far-off ships? */
struct cmd cmds[] = {
{ fire_phasers, "1", "Fire phasers", 1 },
{ fire_tubes, "2", "Fire photon torpedoes", 1 },
{ lock_phasers, "3", "Lock phasers onto target", 1 },
{ lock_tubes, "4", "Lock tubes onto target", 1 },
{ turn_phasers, "5", "Manually rotate phasers", 1 },
{ turn_tubes, "6", "Manually rotate tubes", 1 },
{ phaser_status, "7", "Phaser status", 1 },
{ tube_status, "8", "Tube status", 1 },
{ load_tubes, "9", "Load/unload torpedo tubes", 1 },
{ launch_probe, "10", "Launch antimatter probe", 1 },
{ probe_control, "11", "Probe control", 1 },
{ pos_report, "12", "Position report", 0 },
{ pos_display, "13", "Position display", 0 },
{ pursue, "14", "Pursue an enemy vessel", 1 },
{ elude, "15", "Elude an enemy vessel", 1 },
{ helm, "16", "Manually change course and speed", 1 },
{ self_scan, "17", "Damage report", 1 },
{ scan, "18", "Scan enemy (enemy Damage report)", 1 },
{ alter_power, "19", "Alter power distribution", 1 },
{ jettison_engineering, "20", "Jettison engineering", 1 },
{ detonate_engineering, "21", "Detonate engineering", 1 },
{ alterpntparams, "22", "Alter firing parameters", 1},
{ play_dead, "23", "Attempt defenseless ruse", 1 },
{ corbomite_bluff, "24", "Attempt corbomite bluff(s)", 1 },
{ surrender_ship, "25", "Surrender", 1 },
{ request_surrender, "26", "Ask enemy to surrender", 1 },
{ self_destruct, "27", "Initiate self-destruct sequence", 1 },
{ abort_self_destruct, "28", "Abort self-destruct", 1 },
{ survivors, "29", "Survivors report", 0 },
{ help, "30", "Reprints above list", 0 },
{ NULL, NULL, NULL, 1 },
} ;
/* Strategy table */
int (*strategies[])() = {
standard_strategy
};